GtkWindow: Don't assume no shadow width even when not supported
authorJonas Ådahl <jadahl@gmail.com>
Mon, 18 May 2015 03:19:14 +0000 (11:19 +0800)
committerMatthias Clasen <mclasen@redhat.com>
Mon, 18 May 2015 11:46:43 +0000 (07:46 -0400)
Even if a window doesn't support client side shadow
(gtk_window_supports_client_shadow returns FALSE), don't assume the
shadow width is zero, as CSD may have been enabled anyway (meaning
priv->client_decorated is TRUE). In that case we still need to report
the correct width.

https://bugzilla.gnome.org/show_bug.cgi?id=749451

gtk/gtkwindow.c

index 9c147fb076edd83b93e1e77d5d44e9a1068b07d8..423c6bd0654e77a441a93cd987e707d0aeeb3355 100644 (file)
@@ -6544,9 +6544,12 @@ get_shadow_width (GtkWidget *widget,
 
   *shadow_width = border;
 
-  if (!priv->decorated ||
-      (!gtk_window_should_use_csd (window) && !priv->client_decorated) ||
-      !gtk_window_supports_client_shadow (window))
+  if (!priv->decorated)
+    return;
+
+  if (!priv->client_decorated &&
+      !(gtk_window_should_use_csd (window) &&
+        gtk_window_supports_client_shadow (window)))
     return;
 
   if (priv->maximized ||